using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using OrbitOne.CRMLyncInfoDashboard.CRM.OData;

namespace OrbitOne.CRMLyncInfoDashboard.CRM
{
    public interface IWindowUtility
    {
        void CreateNewEntityWindowWithoutAutocompletedFields<T>(T entityModel);
        void EditEntityWindow<T>(T entityModel) where T : IEntityModel;
        void CreateNewEntityWindow<T>(T entityModel, Expression<Func<T, object>>[] autoCompletedProperties, IDictionary<string, string> autoCompleteFormFields);
        EntityModelTypes PreviewEntityType { get; set; }
        void CreateNewEntityWindow<T>(T entityModel, Expression<Func<T, object>>[] autoCompletedProperties);
    }
}